import pygame

class Ship:
	'''飞船类'''

	def __init__(self,ai_settings, screen):
		'''初始化飞船并设置其初始位置'''
		self.ai_settings = ai_settings
		self.screen = screen

		# 加载飞船图像并获取去外接矩形
		self.image = pygame.image.load(r'C:\Users\Administrator\Desktop\demo\images\ship.bmp')
		self.rect = self.image.get_rect()
		self.screen_rect = screen.get_rect()

		# 将每搜新飞船放在屏幕底部中央
		self.rect.centerx = self.screen_rect.centerx
		self.rect.bottom = self.screen_rect.bottom

		# 设置飞船属性 center中存储小数值
		self.center = float(self.rect.centerx)

		# 移动标志
		self.moving_right = False
		self.moving_left = False


	def update(self):
		'''根据移动标志调整飞船的位置'''
		# 更新飞船的center值，限制不能飞出界面
		if self.moving_right and self.rect.right < self.screen_rect.right:
			self.center += self.ai_settings.ship_speed_factor
		if self.moving_left and self.rect.left > 0:
			self.center -= self.ai_settings.ship_speed_factor

		# # 更新 rect 对象
		self.rect.centerx = self.center


	def blitme(self):
		'''在指定位置绘制飞船'''
		self.screen.blit(self.image, self.rect)


	def center_ship(self):
		'''让飞船在屏幕上居中'''
		self.center = self.screen_rect.centerx